home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / include / sun4.md / machparam.h < prev    next >
C/C++ Source or Header  |  1990-05-02  |  2KB  |  69 lines

  1. /*
  2.  * machparam.h --
  3.  *
  4.  *    This file contains various machine-dependent parameters needed
  5.  *    by UNIX programs running under Sprite.  This file includes parts
  6.  *    of the UNIX header files "machine/machparm.h" and
  7.  *    "machine/endian.h".  Many of things in the UNIX file are only
  8.  *    useful for the kernel;  stuff gets added to this file only
  9.  *    when it's clear that it is needed for user programs.
  10.  *
  11.  * Copyright 1988 Regents of the University of California
  12.  * Permission to use, copy, modify, and distribute this
  13.  * software and its documentation for any purpose and without
  14.  * fee is hereby granted, provided that the above copyright
  15.  * notice appear in all copies.  The University of California
  16.  * makes no representations about the suitability of this
  17.  * software for any purpose.  It is provided "as is" without
  18.  * express or implied warranty.
  19.  *
  20.  * $Header: /sprite/src/lib/include/sun4.md/RCS/machparam.h,v 1.3 90/05/02 16:52:42 rab Exp $ SPRITE (Berkeley)
  21.  */
  22.  
  23. #ifndef _MACHPARAM
  24. #define _MACHPARAM
  25.  
  26. #ifndef _LIMITS
  27. #include <limits.h>
  28. #endif
  29.  
  30. /*
  31.  *----------------------
  32.  * Taken from endian.h:
  33.  *----------------------
  34.  */
  35.  
  36. /*
  37.  * Definitions for byte order,
  38.  * according to byte significance from low address to high.
  39.  */
  40. #define LITTLE_ENDIAN   1234    /* least-significant byte first (vax) */
  41. #define BIG_ENDIAN      4321    /* most-significant byte first (IBM, net) */
  42. #define PDP_ENDIAN      3412    /* LSB first in word, MSW first in long (pdp) */
  43.  
  44. #define BYTE_ORDER      BIG_ENDIAN   /* byte order on sun3 */
  45.  
  46. /*
  47.  *----------------------
  48.  * Miscellaneous:
  49.  *----------------------
  50.  */
  51.  
  52. /*
  53.  * The bits of a address that should not be set if word loads and stores
  54.  * are done on the address. This mask intended for fast byte manipulation
  55.  * routines.
  56.  */
  57.  
  58. #define    WORD_ALIGN_MASK    0x3
  59.  
  60. /*
  61.  * Sizes of pages and segments.  SEGSIZ is valid only on Suns, and used
  62.  * only in EMACS, I think.  I'm not sure why it should get used anywhere.
  63.  */
  64.  
  65. #define PAGSIZ 0x2000
  66. #define SEGSIZ 0x40000
  67.  
  68. #endif /* _MACHPARAM */
  69.